home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / asm-generic / msgbuf.h < prev    next >
C/C++ Source or Header  |  2009-10-16  |  1KB  |  48 lines

  1. #ifndef __ASM_GENERIC_MSGBUF_H
  2. #define __ASM_GENERIC_MSGBUF_H
  3.  
  4. #include <asm/bitsperlong.h>
  5. /*
  6.  * generic msqid64_ds structure.
  7.  *
  8.  * Note extra padding because this structure is passed back and forth
  9.  * between kernel and user space.
  10.  *
  11.  * msqid64_ds was originally meant to be architecture specific, but
  12.  * everyone just ended up making identical copies without specific
  13.  * optimizations, so we may just as well all use the same one.
  14.  *
  15.  * 64 bit architectures typically define a 64 bit __kernel_time_t,
  16.  * so they do not need the first three padding words.
  17.  * On big-endian systems, the padding is in the wrong place.
  18.  *
  19.  * Pad space is left for:
  20.  * - 64-bit time_t to solve y2038 problem
  21.  * - 2 miscellaneous 32-bit values
  22.  */
  23.  
  24. struct msqid64_ds {
  25.     struct ipc64_perm msg_perm;
  26.     __kernel_time_t msg_stime;    /* last msgsnd time */
  27. #if __BITS_PER_LONG != 64
  28.     unsigned long    __unused1;
  29. #endif
  30.     __kernel_time_t msg_rtime;    /* last msgrcv time */
  31. #if __BITS_PER_LONG != 64
  32.     unsigned long    __unused2;
  33. #endif
  34.     __kernel_time_t msg_ctime;    /* last change time */
  35. #if __BITS_PER_LONG != 64
  36.     unsigned long    __unused3;
  37. #endif
  38.     unsigned long  msg_cbytes;    /* current number of bytes on queue */
  39.     unsigned long  msg_qnum;    /* number of messages in queue */
  40.     unsigned long  msg_qbytes;    /* max number of bytes on queue */
  41.     __kernel_pid_t msg_lspid;    /* pid of last msgsnd */
  42.     __kernel_pid_t msg_lrpid;    /* last receive pid */
  43.     unsigned long  __unused4;
  44.     unsigned long  __unused5;
  45. };
  46.  
  47. #endif /* __ASM_GENERIC_MSGBUF_H */
  48.